
import java.awt.EventQueue;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JMenu;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.SwingConstants;
import javax.swing.JButton;
import java.awt.Color;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JTextPane;
import java.awt.SystemColor;
import javax.swing.UIManager;
import java.awt.Font;
/**
 * Fenetre principale de l'application Banque avec le menu 
 * @author IUT,  A.Front 
 * @version 1.0
 */
public class VueMenuBanque  extends Vue{
	/**
	 * 
	 */
	//private static final long serialVersionUID = -4354257027854726437L;
	private JFrame frmMenuPrincipalBanque;

	// ************************************************************************************************************
	// Constructeur
	// ************************************************************************************************************
	public VueMenuBanque(Controleur controleur) {
		super (controleur);
		this.initialize();
	} // Fin Constructeur
	
	public JFrame getFrame() {
		return frmMenuPrincipalBanque;	
	}
	/**
	 * Initialize the contents of the frame.
	 */
	private void initialize() {
		frmMenuPrincipalBanque = new JFrame();
		frmMenuPrincipalBanque.setTitle("Menu principal Banque Gervosou");
		frmMenuPrincipalBanque.setBounds(100, 100, 450, 300);
		frmMenuPrincipalBanque.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); 
		frmMenuPrincipalBanque.addWindowListener (new WindowAdapter() {
			public void windowClosing (WindowEvent e) {
			getControleur().fermerVue(VueMenuBanque.this);
			}
		});
		frmMenuPrincipalBanque.getContentPane().setLayout(null);
		
		JMenuBar menuBar = new JMenuBar();
		menuBar.setBounds(21, 14, 236, 21);
		frmMenuPrincipalBanque.getContentPane().add(menuBar);
		
		JMenu mnApplication = new JMenu("Application");
		mnApplication.setHorizontalAlignment(SwingConstants.LEFT);
		menuBar.add(mnApplication);
		
		JMenuItem menuItemQuitter = new JMenuItem("Quitter");
		menuItemQuitter.setIcon(new ImageIcon("/users/info/etu-s3/sanseast/Downloads/1369222185_quit.png"));
		menuItemQuitter.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				getControleur().fermerVue(VueMenuBanque.this);
				}		
		});
		mnApplication.add(menuItemQuitter);
		
		JMenu mnSocit = new JMenu("Société");
		menuBar.add(mnSocit);
		
		JMenuItem mntmNouvelleSocit = new JMenuItem("Nouvelle Société");
		mntmNouvelleSocit.setIcon(new ImageIcon("/users/info/etu-s3/sanseast/Downloads/1367867925_group_add.png"));
		mntmNouvelleSocit.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				getControleur().NouvSociete() ;
			}
		});
		mnSocit.add(mntmNouvelleSocit);
		
		JMenu mnNewMenu = new JMenu("Compte");
		mnNewMenu.setIcon(new ImageIcon("/users/info/etu-s3/sanseast/Downloads/1369222256_application_view_detail.png"));
		mnSocit.add(mnNewMenu);
		
		JMenuItem mntmNouveauCompte = new JMenuItem("Nouveau Compte");
		mnNewMenu.add(mntmNouveauCompte);
		mntmNouveauCompte.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				getControleur().NouvCompteSociete() ;
			}
		});
		mntmNouveauCompte.setIcon(new ImageIcon("/users/info/etu-s3/sanseast/Downloads/1367868059_database_add.png"));
		
		JMenuItem mntmConsulterCompte = new JMenuItem("Consulter Compte");
		mnNewMenu.add(mntmConsulterCompte);
		mntmConsulterCompte.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				getControleur().ConsultCompteSociete();
			}
		});
		mntmConsulterCompte.setIcon(new ImageIcon("/users/info/etu-s3/sanseast/Downloads/1367868096_reseller_account_template.png"));
		
		JMenuItem mntmAjouterMandataire = new JMenuItem("Ajouter Mandataire");
		mnNewMenu.add(mntmAjouterMandataire);
		mntmAjouterMandataire.setIcon(new ImageIcon("/users/info/etu-s3/sanseast/Downloads/1369221987_group_go.png"));
		mntmAjouterMandataire.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				getControleur().NouvMandataire();
			}
		});
		
		JMenu mnClient = new JMenu("Client");
		menuBar.add(mnClient);
		
		JMenuItem menuItemNouvClient = new JMenuItem("Nouveau client");
		menuItemNouvClient.setIcon(new ImageIcon("/users/info/etu-s3/sanseast/Downloads/utilisateur-dajouter-icone-8846-32.png"));
		
		menuItemNouvClient.addActionListener(new ActionListener()
		 {
			public void actionPerformed(ActionEvent event) {
				//  affichage de la fenetre de saisie d'un nouveau client
				getControleur().NouvClientPhysique() ;}
		});
		
		mnClient.add(menuItemNouvClient);
		
		JMenu mnNewMenu_1 = new JMenu("Compte");
		mnNewMenu_1.setIcon(new ImageIcon("/users/info/etu-s3/sanseast/Downloads/1369222256_application_view_detail.png"));
		mnClient.add(mnNewMenu_1);
		
		JMenuItem menuItemNouvCompte = new JMenuItem("Nouveau compte personnel");
		mnNewMenu_1.add(menuItemNouvCompte);
		menuItemNouvCompte.setIcon(new ImageIcon("/users/info/etu-s3/sanseast/Downloads/base-de-donnees-ajouter-icone-7539-32.png"));
		
		JMenuItem menuItemConsultCompte = new JMenuItem("Consulter Compte Personnel");
		mnNewMenu_1.add(menuItemConsultCompte);
		menuItemConsultCompte.setIcon(new ImageIcon("/users/info/etu-s3/sanseast/Downloads/base-de-donnees-vont-icone-9058-32.png"));
		menuItemConsultCompte.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
					getControleur().ConsultComptePerso() ;
			}
		});
		menuItemNouvCompte.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent event) {
				//  affichage de la fenetre de saisie d'un nouveau compte
				getControleur().NouvComptePerso() ;}
		});

		JMenu mnComptes = new JMenu("Comptes");
		menuBar.add(mnComptes);
		
		JMenuItem mntmDepot = new JMenuItem("Depot");
		mntmDepot.setIcon(new ImageIcon("/users/info/etu-s3/sanseast/Downloads/1369221954_money_add.png"));
		mntmDepot.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				getControleur().Depot() ;
			}
		});
		mnComptes.add(mntmDepot);
		
		JMenuItem mntmRetrait = new JMenuItem("Retrait");
		mntmRetrait.setIcon(new ImageIcon("/users/info/etu-s3/sanseast/Downloads/1369221939_money_delete.png"));
		mntmRetrait.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				getControleur().Retrait() ;
			}
		});
		mnComptes.add(mntmRetrait);
		
		JTextPane txtpnBienvenueSurLapplication = new JTextPane();
		txtpnBienvenueSurLapplication.setFont(new Font("Dialog", Font.BOLD, 13));
		txtpnBienvenueSurLapplication.setBackground(UIManager.getColor("inactiveCaption"));
		txtpnBienvenueSurLapplication.setText("Bienvenue sur l'application de gestion des compte de la banque Gervosou !");
		txtpnBienvenueSurLapplication.setBounds(21, 226, 402, 38);
		frmMenuPrincipalBanque.getContentPane().add(txtpnBienvenueSurLapplication);
		
		JLabel label = new JLabel("");
		label.setIcon(new ImageIcon("/users/info/etu-s3/sanseast/Downloads/Grenoble.jpg"));
		label.setBounds(21, 47, 402, 217);
		frmMenuPrincipalBanque.getContentPane().add(label);
		
		frmMenuPrincipalBanque.setVisible(true);
	}
	
	/**
	 * méthode exécutée lorsque la croix de fermeture de la fenêtre a été cliquée
	 */
	public void windowClosing (WindowEvent e) {
		getControleur().fermerVue(VueMenuBanque.this);
	}
}
